#ifndef __IIC_H
#define __IIC_H

#include "ch32v20x_conf.h"

#define  IIC_SDA_H  GPIO_SetBits(GPIOC,GPIO_Pin_6)    //配置SDA接口高电平
#define  IIC_SDA_L  GPIO_ResetBits(GPIOC,GPIO_Pin_6)  //配置SDA接口低电平

#define  IIC_SCL_H  GPIO_SetBits(GPIOC,GPIO_Pin_7)    //配置SCL接口高电平
#define  IIC_SCL_L  GPIO_ResetBits(GPIOC,GPIO_Pin_7)  //配置SCL接口低电平

#define  I2C_SDA_READ()  GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_6)  //读SDA口线状态

void IIC_Init(void);         //IIC初始化函数
void IIC_Idle_State(void);   //IIC空闲状态
void IIC_Start(void);        //IIC开始信号函数
void IIC_Stop(void);         //IIC停止信号函数
void IIC_SendByte(u8 data);  //IIC发送一个字节
u8   IIC_ReadByte(void);     //IIC读取一个字节
u8   IIC_WaitAck(void);      //等待响应信号（ACK或者NACK）
void IIC_ACK(void);          //IIC发出ACK信号
void IIC_NACK(void);         //IIC发出NACK信号


void CST816D_Read_Id(uint8_t *buf);
void CST816D_Read_Bytes(uint8_t reg,uint8_t *buf,uint8_t len);

#endif
